aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/docs/pages/api/user/[id].tsx
diff options
context:
space:
mode:
authorHsiangNianian <admin@jyunko.cn>2023-04-22 19:52:26 +0800
committerHsiangNianian <admin@jyunko.cn>2023-04-22 19:52:26 +0800
commit4838df315931bb883f704ec3e1abe2685f296cdf (patch)
tree57a8550c4cd5338f1126364bb518c6cde8d96e7d /docs/pages/api/user/[id].tsx
parentdb74ade0234a40c2120ad5f2a41bee50ce13de02 (diff)
downloadHydroRoll-4838df315931bb883f704ec3e1abe2685f296cdf.tar.gz
HydroRoll-4838df315931bb883f704ec3e1abe2685f296cdf.zip
😀
Diffstat (limited to 'docs/pages/api/user/[id].tsx')
-rw-r--r--docs/pages/api/user/[id].tsx36
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/pages/api/user/[id].tsx b/docs/pages/api/user/[id].tsx
new file mode 100644
index 0000000..091d716
--- /dev/null
+++ b/docs/pages/api/user/[id].tsx
@@ -0,0 +1,36 @@
+import { NextApiRequest, NextApiResponse } from "next";
+import { withSentry } from "@sentry/nextjs";
+import {
+ getSubscriber,
+ Subscriber,
+ updateSubscriber,
+} from "../../../lib/ConvertKitApi";
+
+async function handler(req: NextApiRequest, res: NextApiResponse) {
+ try {
+ if (req.method === "PUT") {
+ const subscriber = await updateSubscriber(
+ req.query.id as string,
+ {
+ first_name: req.body.first_name,
+ email_address: req.body.email_address,
+ fields: req.body.fields,
+ } as Subscriber
+ );
+ res.setHeader("Content-Type", "application/json");
+ res.statusCode = 204;
+ res.json(subscriber);
+ } else {
+ const subscriber = await getSubscriber(req.query.id as string);
+ res.setHeader("Content-Type", "application/json");
+ res.statusCode = 200;
+ res.json(subscriber);
+ }
+ } catch (error) {
+ console.log(error);
+ res.statusCode = 500;
+ res.json({ okay: false });
+ }
+}
+
+export default withSentry(handler);